<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <form action="" method="POST" enctype="multipart/form-data">
        <input type="file" name="image">
        <input type="submit" value="上传" name="ver">
    </form>
</body>

</html>
<?php
// 步骤
// 第一步：验证是否有误
function check($file, $allow = array('image/jpeg', 'image/png', 'image/gif'))
{

    if ($file['error'] != 0) {
        switch ($file['error']) {
            case 1:
                return "文件大小超过了php.ini中允许的最大值";
            case 2:
                return "文件大小超过了表单允许的最大值";
            case 3:
                return "只有部分文件上传";
            case 4:
                return "没有文件上传";
            case 6:
                return "找不到临时文件";
            case 7:
                return "文件写入失败";
        }
    }
// 第二步：验证格式
$allow = array('image/jpeg','image/png','image/gif');
// 创建一个fileinfo资源
$info=finfo_open(FILEINFO_MIME_TYPE );
//将finfo资源和文件作比较
$min =finfo_file($info, $file["tmp_name"]); //获取文件信息
// return in_array($min,$allow)?"":;
if (!in_array($min, $allow)) {
    return "只能上传" . implode($allow) . "的格式文件";
}
// 第三步：验证大小
$size = 1;
// $k = 1024;
if($file['size']>$size){
    return "文件不能超过".floor($size / 1024)."k";
}
// 第四步：验证是否是http上传
    if(is_uploaded_file($file['tmp_name'])){
        // 第五步：上传实现
        $path = uniqid(('user') . rand(100,500) .$file['name']);
        echo'上传成功';
    }else{
        return '文件不是HTTP post上传的<br>';
    }
}



if (!empty($_POST)) {
    // echo "jhs";
    echo check($_FILES['image']);
    // var_dump($_FILES);
}
?>